package org.dolphin.dao;

import java.io.Serializable;
import java.util.List;
import org.dolphin.base.bean.ProductCategoryVO;
import org.dolphin.entity.inventory.ProductCategory;
import org.hibernate.criterion.Order;

public interface ProductCategoryDao {
  public ProductCategory fetchProductCategory(Serializable id);

  public List<ProductCategoryVO> getProductCategories(int firstResult, int maxResults,
      List<Order> orders);

  public Long getProductCategoriesCount();

  public ProductCategory getProductCategory(String name);

  public ProductCategory getProductCategory(String name, Serializable excludedId);

  public List<ProductCategory> listProductCategory();

  public ProductCategory loadProductCategory(Serializable id);

  public void saveProductCategory(ProductCategory category);

  public void updateProductCategory(ProductCategory category);
}
